The following prototype is a simulation of a farm in which we have the level itself that generates its trees randomly using cellular automata, in the simulation there are 3 types of bots:
The minion works using genetic algorithms, thanks to the implementation of these algorithms the minion manages to differentiate the type of floor on which it walks and through the generations manages to walk through the entire map available without leaving it. The goal of this Bot is to explore the entire map, there are generations which have even learned to climb trees and go through the forest.
The farmer and the baker work using Goal-Oriented Action Planning(GOAP), this artificial intelligence system allowed me to plan the sequence of actions of each of my bots independently, the nice thing about using GOAP is that we avoid the use of very large and complex state machines.